package com.wcards.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wcards.config.R;
import com.wcards.dto.PasswordDTO;
import com.wcards.dto.UserDTO;
import com.wcards.entity.UserInfo;

import javax.servlet.http.HttpServletRequest;

/**
 * @author 大黑
 */
public interface UserInfoService extends IService<UserInfo> {
    //登录接口
    R<String> userLogin(UserInfo userInfo, HttpServletRequest request);

    //注册接口
    R<String> register(UserInfo userInfo);

    //用户注销接口
    R<String> logOut(Integer userId);

    //用户修改基本信息接口
    R<String> updateIdentity(UserInfo userInfo);

    //用户修改密码接口
    R<String> updatePassword(PasswordDTO passwordDTO);

    //分页查看所有用户接口
    R<Page<UserInfo>> findUsers(Integer pageSize, Integer pageNumber, String phone, String userName, Integer userStatus);

    //启用禁用用户接口
    R<String> updateStates(Integer userId);

    //根据Id查询用户的所有信息接口
    R<UserInfo> findById(Integer userId);

    //查看所有用户
    R<Page<UserInfo>> findAllUsers(Integer pageSize, Integer pageNumber);
}
